<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>ES8 对象方法扩展</title>
</head>
<body>
  <script>
    //声明对象
    const school = {
      name: '尚硅谷',
      cities: ['北京', '上海', '深圳'],
      xueke: ['前端', 'Java', '大数据', '运维'],
    }
    // for (let v in school) {
    //   console.log(v)
    //   console.log(school[v])
    // }

    // 获取对象所有的键
    console.log(Object.keys(school))
    // 获取对象所有的值
    console.log(Object.values(school))

    // Object.entries()是将对象转成一个自身可枚举属性的键值对数组。
    console.log(Object.entries(school))

    // new Map() 构造函数接受一个可迭代的entries。借助Object.entries方法你可以很容易的将Object转换为Map
    // const m = new Map(Object.entries(school))
    // console.log(m.get('cities'))

    //对象属性的描述对象
    // console.log(Object.getOwnPropertyDescriptors(school))

    // const obj = Object.create(null, {
    //   name: {
    //     //设置值
    //     value: '尚硅谷',
    //     //属性特性
    //     writable: true,
    //     configurable: true,
    //     enumerable: true,
    //   },
    // })
  </script>
</body>
</html>